#ifndef SCON_ERROR_HANDLING_H_
#define SCON_ERROR_HANDLING_H_

#include <exception>
#include <string>

namespace SCon {

class ConnectionException: public std::exception{
/*
Класс ConnectionException предназначен для использования ввиде стратегии обработки ошибок.
Содержит статическую функцию SetErrorState()
*/
public:
	ConnectionException(const std::string& errorMessage) : errorMessage_(errorMessage) {}

	const char* what(){
		return errorMessage_.c_str();
	}

	static bool SetErrorState(const std::string& errorMessage){
		throw ConnectionException(errorMessage);
		return false;
	}

protected:
	~ConnectionException() throw() {}

private:
	std::string errorMessage_;
};

} /* SCon */ 

#endif /* end of include guard: SCON_ERROR_HANDLING_H_ */

